home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / gtk-2.0 / gtk / gtktreeselection.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-04-25  |  5.5 KB  |  124 lines

  1. /* gtktreeselection.h
  2.  * Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
  3.  *
  4.  * This library is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU Library General Public
  6.  * License as published by the Free Software Foundation; either
  7.  * version 2 of the License, or (at your option) any later version.
  8.  *
  9.  * This library is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.  * Library General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU Library General Public
  15.  * License along with this library; if not, write to the
  16.  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17.  * Boston, MA 02111-1307, USA.
  18.  */
  19.  
  20. #ifndef __GTK_TREE_SELECTION_H__
  21. #define __GTK_TREE_SELECTION_H__
  22.  
  23. #include <glib-object.h>
  24. #include <gtk/gtktreeview.h>
  25.  
  26.  
  27. G_BEGIN_DECLS
  28.  
  29.  
  30. #define GTK_TYPE_TREE_SELECTION            (gtk_tree_selection_get_type ())
  31. #define GTK_TREE_SELECTION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_SELECTION, GtkTreeSelection))
  32. #define GTK_TREE_SELECTION_CLASS(klass)        (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_SELECTION, GtkTreeSelectionClass))
  33. #define GTK_IS_TREE_SELECTION(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_SELECTION))
  34. #define GTK_IS_TREE_SELECTION_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_SELECTION))
  35. #define GTK_TREE_SELECTION_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_SELECTION, GtkTreeSelectionClass))
  36.  
  37. typedef gboolean (* GtkTreeSelectionFunc)    (GtkTreeSelection  *selection,
  38.                           GtkTreeModel      *model,
  39.                           GtkTreePath       *path,
  40.                                               gboolean           path_currently_selected,
  41.                           gpointer           data);
  42. typedef void (* GtkTreeSelectionForeachFunc) (GtkTreeModel      *model,
  43.                           GtkTreePath       *path,
  44.                           GtkTreeIter       *iter,
  45.                           gpointer           data);
  46.  
  47. struct _GtkTreeSelection
  48. {
  49.   GObject parent;
  50.  
  51.   /*< private >*/
  52.   
  53.   GtkTreeView *tree_view;
  54.   GtkSelectionMode type;
  55.   GtkTreeSelectionFunc user_func;
  56.   gpointer user_data;
  57.   GtkDestroyNotify destroy;
  58. };
  59.  
  60. struct _GtkTreeSelectionClass
  61. {
  62.   GObjectClass parent_class;
  63.  
  64.   void (* changed) (GtkTreeSelection *selection);
  65.  
  66.   /* Padding for future expansion */
  67.   void (*_gtk_reserved1) (void);
  68.   void (*_gtk_reserved2) (void);
  69.   void (*_gtk_reserved3) (void);
  70.   void (*_gtk_reserved4) (void);
  71. };
  72.  
  73.  
  74. GType            gtk_tree_selection_get_type            (void) G_GNUC_CONST;
  75.  
  76. void             gtk_tree_selection_set_mode            (GtkTreeSelection            *selection,
  77.                              GtkSelectionMode             type);
  78. GtkSelectionMode gtk_tree_selection_get_mode        (GtkTreeSelection            *selection);
  79. void             gtk_tree_selection_set_select_function (GtkTreeSelection            *selection,
  80.                              GtkTreeSelectionFunc         func,
  81.                              gpointer                     data,
  82.                              GtkDestroyNotify             destroy);
  83. gpointer         gtk_tree_selection_get_user_data       (GtkTreeSelection            *selection);
  84. GtkTreeView*     gtk_tree_selection_get_tree_view       (GtkTreeSelection            *selection);
  85.  
  86. /* Only meaningful if GTK_SELECTION_SINGLE or GTK_SELECTION_BROWSE is set */
  87. /* Use selected_foreach or get_selected_rows for GTK_SELECTION_MULTIPLE */
  88. gboolean         gtk_tree_selection_get_selected        (GtkTreeSelection            *selection,
  89.                              GtkTreeModel               **model,
  90.                              GtkTreeIter                 *iter);
  91. GList *          gtk_tree_selection_get_selected_rows   (GtkTreeSelection            *selection,
  92.                                                          GtkTreeModel               **model);
  93. gint             gtk_tree_selection_count_selected_rows (GtkTreeSelection            *selection);
  94. void             gtk_tree_selection_selected_foreach    (GtkTreeSelection            *selection,
  95.                              GtkTreeSelectionForeachFunc  func,
  96.                              gpointer                     data);
  97. void             gtk_tree_selection_select_path         (GtkTreeSelection            *selection,
  98.                              GtkTreePath                 *path);
  99. void             gtk_tree_selection_unselect_path       (GtkTreeSelection            *selection,
  100.                              GtkTreePath                 *path);
  101. void             gtk_tree_selection_select_iter         (GtkTreeSelection            *selection,
  102.                              GtkTreeIter                 *iter);
  103. void             gtk_tree_selection_unselect_iter       (GtkTreeSelection            *selection,
  104.                              GtkTreeIter                 *iter);
  105. gboolean         gtk_tree_selection_path_is_selected    (GtkTreeSelection            *selection,
  106.                              GtkTreePath                 *path);
  107. gboolean         gtk_tree_selection_iter_is_selected    (GtkTreeSelection            *selection,
  108.                              GtkTreeIter                 *iter);
  109. void             gtk_tree_selection_select_all          (GtkTreeSelection            *selection);
  110. void             gtk_tree_selection_unselect_all        (GtkTreeSelection            *selection);
  111. void             gtk_tree_selection_select_range        (GtkTreeSelection            *selection,
  112.                              GtkTreePath                 *start_path,
  113.                              GtkTreePath                 *end_path);
  114. void             gtk_tree_selection_unselect_range      (GtkTreeSelection            *selection,
  115.                                                          GtkTreePath                 *start_path,
  116.                              GtkTreePath                 *end_path);
  117.  
  118.  
  119. G_END_DECLS
  120.  
  121.  
  122. #endif /* __GTK_TREE_SELECTION_H__ */
  123.  
  124.